package com.guofen.dao;

import com.guofen.pojo.HsmMiddleWorm;
import com.guofen.pojo.HsmSmallWorm;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface HsmMiddleWormMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(HsmMiddleWorm record);

    int insertSelective(HsmMiddleWorm record);

    HsmMiddleWorm selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(HsmMiddleWorm record);

    int updateByPrimaryKey(HsmMiddleWorm record);

    //返回3-3当天最新一条数据
    List<Map<String, HsmMiddleWorm>> getMiddleWormBreedingMaterialLatest();

    //返回已填写1-3第一、二次加料,还未填写过3-3内容的n条数据
    List<Map<String, HsmMiddleWorm>> getMiddleWormBreedingMaterialList();

    //返回3-2中还未分盒的n条数据,即数据表HsmSmallWorm中flag=0,(在小虫培育过程中（数据表HsmSmallWorm）的id, 批次，组别，小虫培育盒号)
    List<Map<String, HsmSmallWorm>> getlist_fh();

    //返回多次加料后的中虫数量（万条）的总数
    Double getsum_big_bug_number(String batch, String worm_group, String small_bug_breed_box_number);

    //返回需要加料的数据
    List<Map<String, HsmMiddleWorm>> getlist();

    //返回1-3中还未第一次加料的n条数据(在小虫培育过程中（数据表HsmSmallWorm）的id, 批次，组别，小虫培育盒号)
    List<Map<String, HsmSmallWorm>> getlist_first();

    //返回1-3中已第一次加料、还未第二次加料的n条数据(在小虫培育过程中（数据表HsmSmallWorm）的id, 批次，组别，小虫培育盒号)
    List<Map<String, HsmSmallWorm>> getlist_second();

    //返回还未第一次加料的n条数据(在中虫培育过程中（数据表HsmMiddleWorm）id,date,中虫培育开始日期,批次，组别，小虫盒号，中虫盒号)
    List<Map<String, HsmMiddleWorm>> getFirstList(String batch, String worm_group, String small_bug_breed_box_number);

    //返回1-3中当天最新一条第一次加料、未第二次加料的数据
    List<Map<String, HsmMiddleWorm>> getFirstLatest();

    //返回已完成第一次加料、未第二次加料的n条数据(在中虫培育过程中（数据表HsmMiddleWorm）id,date,批次，组别，小虫盒号，中虫盒号)
    List<Map<String, HsmMiddleWorm>> getSecondList(String batch, String worm_group, String small_bug_breed_box_number);

    //返回1-3中当天最新一条第二次加料的数据
    List<Map<String, HsmMiddleWorm>> getSecondLatest();

    //返回3-3中批次、组别、和小虫培育盒号相同的数据,进行抽检
    List<Map<String, HsmMiddleWorm>> sample(String batch, String worm_group, String small_bug_breed_box_number);

    //返回完成了3-3的，即能够进行抽检的记录
    List<Map<String, HsmMiddleWorm>> getSampleList();

    List<HsmMiddleWorm> selectAll();

    List<HsmMiddleWorm> selectByDate(@Param("startDate") String startDate,
                                    @Param("endDate") String endDate);
}